home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / Draft.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  13.2 KB  |  562 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:Draft.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Constants
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODDraft_xh
  18. #define SOM_ODDraft_xh
  19.  
  20. class ODDraft;
  21.  
  22. #define ODDraft_MajorVersion 0
  23. #define ODDraft_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODRefCntObject_xh
  30. #include <RefCtObj.xh>
  31. #endif
  32.  
  33. #ifndef ODDraft_API
  34. #define ODDraft_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODStorageUnitCursor;
  44. class ODLinkSource;
  45. class ODSession;
  46. class ODStorageUnitRefIterator;
  47. class ODLink;
  48. class ODPart;
  49. class ODStorageUnitView;
  50. class ODLinkSpec;
  51. class ODDocument;
  52. class ODFrame;
  53. class ODShape;
  54.  
  55. /*
  56.  * End of user-defined types.
  57.  */
  58.  
  59. #if applec ^ PRAGMA_LIB_EXPORT
  60. #pragma lib_export on
  61. #endif
  62.  
  63.  
  64. /* A procedure to create the ODDraft Class */
  65. SOMEXTERN SOMClass * SOMLINK ODDraftNewClass(
  66.         integer4 majorVersion,
  67.         integer4 minorVersion);
  68.  
  69. /* The API to the ODDraft class object, and the methods it introduces. */
  70. typedef struct ODDraftClassDataStructure {
  71.     SOMClass *classObject;
  72.     somMToken GetDocument;
  73.     somMToken GetID;
  74.     somMToken GetName;
  75.     somMToken SetName;
  76.     somMToken GetDraftProperties;
  77.     somMToken GetPermissions;
  78.     somMToken CreateStorageUnit;
  79.     somMToken GetStorageUnit;
  80.     somMToken RemoveStorageUnit;
  81.     somMToken BeginClone;
  82.     somMToken EndClone;
  83.     somMToken AbortClone;
  84.     somMToken ChangedFromPrev;
  85.     somMToken SetChangedFromPrev;
  86.     somMToken RemoveFromDocument;
  87.     somMToken RemoveChanges;
  88.     somMToken Externalize;
  89.     somMToken SaveToAPrevious;
  90.     somMToken CreateFrame;
  91.     somMToken GetFrame;
  92.     somMToken RemoveFrame;
  93.     somMToken CreatePart;
  94.     somMToken GetPart;
  95.     somMToken RemovePart;
  96.     somMToken CreateLinkSpec;
  97.     somMToken CreateLinkSource;
  98.     somMToken GetLinkSource;
  99.     somMToken GetLink;
  100.     somMToken RemoveLink;
  101.     somMToken RemoveLinkSource;
  102.     somMToken InitDraft;
  103.     somMToken ReleaseFrame;
  104.     somMToken ReleasePart;
  105.     somMToken ReleaseLink;
  106.     somMToken ReleaseStorageUnit;
  107. } ODDraftClassDataStructure;
  108. #ifdef SOM_NO_DATA_EXPORTS
  109.    SOMEXTERN ODDraftClassDataStructure * ODDraftGetClassData ( void );
  110. #   undef ODDraftClassData
  111. #   define ODDraftClassData (*ODDraftGetClassData())
  112. #else
  113.    SOMEXTERN ODDraftClassDataStructure ODDraftClassData;
  114. #endif /* SOM_NO_DATA_EXPORTS */
  115.  
  116. #if applec ^ PRAGMA_LIB_EXPORT
  117. #pragma lib_export off
  118. #endif
  119.  
  120. #define _ODDraft ODDraftClassData.classObject
  121.  
  122. /* The API to parentMtabs for ODDraft, and the instance data it introduces. */
  123. SOMEXTERN struct ODDraftCClassDataStructure {
  124.     somMethodTabs parentMtab;
  125.     somDToken instanceDataToken;
  126. } ODDraftCClassData;
  127.  
  128. /*
  129.  * -- Typedefs for Procedures that support Methods introduced by ODDraft
  130.  */
  131. SOMEXTERN {
  132. typedef ODDocument*   (* SOMLINK somTD_ODDraft_GetDocument)(ODDraft *somSelf, Environment *ev);
  133. typedef ODDraftID   (* SOMLINK somTD_ODDraft_GetID)(ODDraft *somSelf, Environment *ev);
  134. typedef ODDraftName   (* SOMLINK somTD_ODDraft_GetName)(ODDraft *somSelf, Environment *ev);
  135. typedef void   (* SOMLINK somTD_ODDraft_SetName)(ODDraft *somSelf, Environment *ev,
  136.         ODDraftName name);
  137. typedef ODStorageUnit*   (* SOMLINK somTD_ODDraft_GetDraftProperties)(ODDraft *somSelf, Environment *ev);
  138. typedef ODDraftPermissions   (* SOMLINK somTD_ODDraft_GetPermissions)(ODDraft *somSelf, Environment *ev);
  139. typedef ODStorageUnit*   (* SOMLINK somTD_ODDraft_CreateStorageUnit)(ODDraft *somSelf, Environment *ev);
  140. typedef ODStorageUnit*   (* SOMLINK somTD_ODDraft_GetStorageUnit)(ODDraft *somSelf, Environment *ev,
  141.         ODStorageUnitID id);
  142. typedef void   (* SOMLINK somTD_ODDraft_RemoveStorageUnit)(ODDraft *somSelf, Environment *ev,
  143.         ODStorageUnit* storageUnit);
  144. typedef ODDraftKey   (* SOMLINK somTD_ODDraft_BeginClone)(ODDraft *somSelf, Environment *ev,
  145.         ODCloneKind kind);
  146. typedef void   (* SOMLINK somTD_ODDraft_EndClone)(ODDraft *somSelf, Environment *ev,
  147.         ODDraftKey key);
  148. typedef void   (* SOMLINK somTD_ODDraft_AbortClone)(ODDraft *somSelf, Environment *ev,
  149.         ODDraftKey key);
  150. typedef ODBoolean   (* SOMLINK somTD_ODDraft_ChangedFromPrev)(ODDraft *somSelf, Environment *ev);
  151. typedef void   (* SOMLINK somTD_ODDraft_SetChangedFromPrev)(ODDraft *somSelf, Environment *ev);
  152. typedef void   (* SOMLINK somTD_ODDraft_RemoveFromDocument)(ODDraft *somSelf, Environment *ev);
  153. typedef ODDraft*   (* SOMLINK somTD_ODDraft_RemoveChanges)(ODDraft *somSelf, Environment *ev);
  154. typedef ODDraft*   (* SOMLINK somTD_ODDraft_Externalize)(ODDraft *somSelf, Environment *ev);
  155. typedef ODDraft*   (* SOMLINK somTD_ODDraft_SaveToAPrevious)(ODDraft *somSelf, Environment *ev,
  156.         ODDraft* to);
  157. typedef ODFrame*   (* SOMLINK somTD_ODDraft_CreateFrame)(ODDraft *somSelf, Environment *ev,
  158.         ODFrame* containingFrame,
  159.         ODShape* frameShape,
  160.         ODPart* part,
  161.         ODTypeToken viewType,
  162.         ODTypeToken presentation,
  163.         ODULong frameGroup,
  164.         ODBoolean isRoot,
  165.         ODBoolean isOverlaid);
  166. typedef ODFrame*   (* SOMLINK somTD_ODDraft_GetFrame)(ODDraft *somSelf, Environment *ev,
  167.         ODStorageUnitID id);
  168. typedef void   (* SOMLINK somTD_ODDraft_RemoveFrame)(ODDraft *somSelf, Environment *ev,
  169.         ODFrame* frame);
  170. typedef ODPart*   (* SOMLINK somTD_ODDraft_CreatePart)(ODDraft *somSelf, Environment *ev,
  171.         ODType partType,
  172.         ODEditor optionalEditor);
  173. typedef ODPart*   (* SOMLINK somTD_ODDraft_GetPart)(ODDraft *somSelf, Environment *ev,
  174.         ODStorageUnitID id);
  175. typedef void   (* SOMLINK somTD_ODDraft_RemovePart)(ODDraft *somSelf, Environment *ev,
  176.         ODPart* part);
  177. typedef ODLinkSpec*   (* SOMLINK somTD_ODDraft_CreateLinkSpec)(ODDraft *somSelf, Environment *ev,
  178.         ODPart* part,
  179.         ODPtr data,
  180.         ODULong size);
  181. typedef ODLinkSource*   (* SOMLINK somTD_ODDraft_CreateLinkSource)(ODDraft *somSelf, Environment *ev,
  182.         ODPart* part);
  183. typedef ODLinkSource*   (* SOMLINK somTD_ODDraft_GetLinkSource)(ODDraft *somSelf, Environment *ev,
  184.         ODStorageUnitID id);
  185. typedef ODLink*   (* SOMLINK somTD_ODDraft_GetLink)(ODDraft *somSelf, Environment *ev,
  186.         ODStorageUnitID id,
  187.         ODLinkSpec* linkSpec);
  188. typedef void   (* SOMLINK somTD_ODDraft_RemoveLink)(ODDraft *somSelf, Environment *ev,
  189.         ODLink* link);
  190. typedef void   (* SOMLINK somTD_ODDraft_RemoveLinkSource)(ODDraft *somSelf, Environment *ev,
  191.         ODLinkSource* link);
  192. typedef void   (* SOMLINK somTD_ODDraft_InitDraft)(ODDraft *somSelf, Environment *ev,
  193.         ODDocument* document,
  194.         ODDraftID id,
  195.         ODDraftPermissions perms);
  196. typedef void   (* SOMLINK somTD_ODDraft_ReleaseFrame)(ODDraft *somSelf, Environment *ev,
  197.         ODFrame* frame);
  198. typedef void   (* SOMLINK somTD_ODDraft_ReleasePart)(ODDraft *somSelf, Environment *ev,
  199.         ODPart* part);
  200. typedef void   (* SOMLINK somTD_ODDraft_ReleaseLink)(ODDraft *somSelf, Environment *ev,
  201.         ODLink* link);
  202. typedef ODDraft*   (* SOMLINK somTD_ODDraft_ReleaseStorageUnit)(ODDraft *somSelf, Environment *ev,
  203.         ODStorageUnitID id);
  204. }
  205.  
  206. #endif /* ODDraft_API */
  207.  
  208.  
  209. /*
  210.  * -- Method Tokens are Thunks
  211.  */
  212. #undef somresolve_
  213. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  214.  
  215. /*
  216.  * -- The C++ Wrapper Class for ODDraft
  217.  */
  218. class ODDraft : public ODRefCntObject
  219. {
  220. public:
  221.  
  222. void *operator new(size_t size)
  223. {
  224.    SOM_IgnoreWarning(size);
  225.    if (!ODDraftClassData.classObject) 
  226.       ODDraftNewClass(ODDraft_MajorVersion,ODDraft_MinorVersion);
  227.    return (void *)
  228.       ((somTD_SOMClass_somNew)
  229.       somresolve_((SOMObject *)((void*)(ODDraftClassData.classObject)),
  230.                  SOMClassClassData.somNew))
  231.          ((SOMClass *)((void*)(ODDraftClassData.classObject)));
  232. }
  233.  
  234. void operator delete(void * obj)
  235. {
  236.    ((SOMObject *)obj)->somFree();
  237. }
  238.  
  239. /* public method: GetDocument */
  240. ODDocument*   GetDocument(Environment *ev)
  241. {
  242.    return SOM_Resolve(this,ODDraft,GetDocument)
  243.     (this,ev);
  244. }
  245.  
  246.  
  247. /* public method: GetID */
  248. ODDraftID   GetID(Environment *ev)
  249. {
  250.    return SOM_Resolve(this,ODDraft,GetID)
  251.     (this,ev);
  252. }
  253.  
  254.  
  255. /* public method: GetName */
  256. ODDraftName   GetName(Environment *ev)
  257. {
  258.    return SOM_Resolve(this,ODDraft,GetName)
  259.     (this,ev);
  260. }
  261.  
  262.  
  263. /* public method: SetName */
  264. void   SetName(Environment *ev,
  265.         ODDraftName name)
  266. {
  267.    SOM_Resolve(this,ODDraft,SetName)
  268.     (this,ev,name);
  269. }
  270.  
  271.  
  272. /* public method: GetDraftProperties */
  273. ODStorageUnit*   GetDraftProperties(Environment *ev)
  274. {
  275.    return SOM_Resolve(this,ODDraft,GetDraftProperties)
  276.     (this,ev);
  277. }
  278.  
  279.  
  280. /* public method: GetPermissions */
  281. ODDraftPermissions   GetPermissions(Environment *ev)
  282. {
  283.    return SOM_Resolve(this,ODDraft,GetPermissions)
  284.     (this,ev);
  285. }
  286.  
  287.  
  288. /* public method: CreateStorageUnit */
  289. ODStorageUnit*   CreateStorageUnit(Environment *ev)
  290. {
  291.    return SOM_Resolve(this,ODDraft,CreateStorageUnit)
  292.     (this,ev);
  293. }
  294.  
  295.  
  296. /* public method: GetStorageUnit */
  297. ODStorageUnit*   GetStorageUnit(Environment *ev,
  298.         ODStorageUnitID id)
  299. {
  300.    return SOM_Resolve(this,ODDraft,GetStorageUnit)
  301.     (this,ev,id);
  302. }
  303.  
  304.  
  305. /* public method: RemoveStorageUnit */
  306. void   RemoveStorageUnit(Environment *ev,
  307.         ODStorageUnit* storageUnit)
  308. {
  309.    SOM_Resolve(this,ODDraft,RemoveStorageUnit)
  310.     (this,ev,storageUnit);
  311. }
  312.  
  313.  
  314. /* public method: BeginClone */
  315. ODDraftKey   BeginClone(Environment *ev,
  316.         ODCloneKind kind)
  317. {
  318.    return SOM_Resolve(this,ODDraft,BeginClone)
  319.     (this,ev,kind);
  320. }
  321.  
  322.  
  323. /* public method: EndClone */
  324. void   EndClone(Environment *ev,
  325.         ODDraftKey key)
  326. {
  327.    SOM_Resolve(this,ODDraft,EndClone)
  328.     (this,ev,key);
  329. }
  330.  
  331.  
  332. /* public method: AbortClone */
  333. void   AbortClone(Environment *ev,
  334.         ODDraftKey key)
  335. {
  336.    SOM_Resolve(this,ODDraft,AbortClone)
  337.     (this,ev,key);
  338. }
  339.  
  340.  
  341. /* public method: ChangedFromPrev */
  342. ODBoolean   ChangedFromPrev(Environment *ev)
  343. {
  344.    return SOM_Resolve(this,ODDraft,ChangedFromPrev)
  345.     (this,ev);
  346. }
  347.  
  348.  
  349. /* public method: SetChangedFromPrev */
  350. void   SetChangedFromPrev(Environment *ev)
  351. {
  352.    SOM_Resolve(this,ODDraft,SetChangedFromPrev)
  353.     (this,ev);
  354. }
  355.  
  356.  
  357. /* public method: RemoveFromDocument */
  358. void   RemoveFromDocument(Environment *ev)
  359. {
  360.    SOM_Resolve(this,ODDraft,RemoveFromDocument)
  361.     (this,ev);
  362. }
  363.  
  364.  
  365. /* public method: RemoveChanges */
  366. ODDraft*   RemoveChanges(Environment *ev)
  367. {
  368.    return SOM_Resolve(this,ODDraft,RemoveChanges)
  369.     (this,ev);
  370. }
  371.  
  372.  
  373. /* public method: Externalize */
  374. ODDraft*   Externalize(Environment *ev)
  375. {
  376.    return SOM_Resolve(this,ODDraft,Externalize)
  377.     (this,ev);
  378. }
  379.  
  380.  
  381. /* public method: SaveToAPrevious */
  382. ODDraft*   SaveToAPrevious(Environment *ev,
  383.         ODDraft* to)
  384. {
  385.    return SOM_Resolve(this,ODDraft,SaveToAPrevious)
  386.     (this,ev,to);
  387. }
  388.  
  389.  
  390. /* public method: CreateFrame */
  391. ODFrame*   CreateFrame(Environment *ev,
  392.         ODFrame* containingFrame,
  393.         ODShape* frameShape,
  394.         ODPart* part,
  395.         ODTypeToken viewType,
  396.         ODTypeToken presentation,
  397.         ODULong frameGroup,
  398.         ODBoolean isRoot,
  399.         ODBoolean isOverlaid)
  400. {
  401.    return SOM_Resolve(this,ODDraft,CreateFrame)
  402.     (this,ev,containingFrame,frameShape,part,viewType,presentation,frameGroup,isRoot,isOverlaid);
  403. }
  404.  
  405.  
  406. /* public method: GetFrame */
  407. ODFrame*   GetFrame(Environment *ev,
  408.         ODStorageUnitID id)
  409. {
  410.    return SOM_Resolve(this,ODDraft,GetFrame)
  411.     (this,ev,id);
  412. }
  413.  
  414.  
  415. /* public method: RemoveFrame */
  416. void   RemoveFrame(Environment *ev,
  417.         ODFrame* frame)
  418. {
  419.    SOM_Resolve(this,ODDraft,RemoveFrame)
  420.     (this,ev,frame);
  421. }
  422.  
  423.  
  424. /* public method: CreatePart */
  425. ODPart*   CreatePart(Environment *ev,
  426.         ODType partType,
  427.         ODEditor optionalEditor)
  428. {
  429.    return SOM_Resolve(this,ODDraft,CreatePart)
  430.     (this,ev,partType,optionalEditor);
  431. }
  432.  
  433.  
  434. /* public method: GetPart */
  435. ODPart*   GetPart(Environment *ev,
  436.         ODStorageUnitID id)
  437. {
  438.    return SOM_Resolve(this,ODDraft,GetPart)
  439.     (this,ev,id);
  440. }
  441.  
  442.  
  443. /* public method: RemovePart */
  444. void   RemovePart(Environment *ev,
  445.         ODPart* part)
  446. {
  447.    SOM_Resolve(this,ODDraft,RemovePart)
  448.     (this,ev,part);
  449. }
  450.  
  451.  
  452. /* public method: CreateLinkSpec */
  453. ODLinkSpec*   CreateLinkSpec(Environment *ev,
  454.         ODPart* part,
  455.         ODPtr data,
  456.         ODULong size)
  457. {
  458.    return SOM_Resolve(this,ODDraft,CreateLinkSpec)
  459.     (this,ev,part,data,size);
  460. }
  461.  
  462.  
  463. /* public method: CreateLinkSource */
  464. ODLinkSource*   CreateLinkSource(Environment *ev,
  465.         ODPart* part)
  466. {
  467.    return SOM_Resolve(this,ODDraft,CreateLinkSource)
  468.     (this,ev,part);
  469. }
  470.  
  471.  
  472. /* public method: GetLinkSource */
  473. ODLinkSource*   GetLinkSource(Environment *ev,
  474.         ODStorageUnitID id)
  475. {
  476.    return SOM_Resolve(this,ODDraft,GetLinkSource)
  477.     (this,ev,id);
  478. }
  479.  
  480.  
  481. /* public method: GetLink */
  482. ODLink*   GetLink(Environment *ev,
  483.         ODStorageUnitID id,
  484.         ODLinkSpec* linkSpec)
  485. {
  486.    return SOM_Resolve(this,ODDraft,GetLink)
  487.     (this,ev,id,linkSpec);
  488. }
  489.  
  490.  
  491. /* public method: RemoveLink */
  492. void   RemoveLink(Environment *ev,
  493.         ODLink* link)
  494. {
  495.    SOM_Resolve(this,ODDraft,RemoveLink)
  496.     (this,ev,link);
  497. }
  498.  
  499.  
  500. /* public method: RemoveLinkSource */
  501. void   RemoveLinkSource(Environment *ev,
  502.         ODLinkSource* link)
  503. {
  504.    SOM_Resolve(this,ODDraft,RemoveLinkSource)
  505.     (this,ev,link);
  506. }
  507.  
  508.  
  509. /* public method: InitDraft */
  510. void   InitDraft(Environment *ev,
  511.         ODDocument* document,
  512.         ODDraftID id,
  513.         ODDraftPermissions perms)
  514. {
  515.    SOM_Resolve(this,ODDraft,InitDraft)
  516.     (this,ev,document,id,perms);
  517. }
  518.  
  519.  
  520. /* public method: ReleaseFrame */
  521. void   ReleaseFrame(Environment *ev,
  522.         ODFrame* frame)
  523. {
  524.    SOM_Resolve(this,ODDraft,ReleaseFrame)
  525.     (this,ev,frame);
  526. }
  527.  
  528.  
  529. /* public method: ReleasePart */
  530. void   ReleasePart(Environment *ev,
  531.         ODPart* part)
  532. {
  533.    SOM_Resolve(this,ODDraft,ReleasePart)
  534.     (this,ev,part);
  535. }
  536.  
  537.  
  538. /* public method: ReleaseLink */
  539. void   ReleaseLink(Environment *ev,
  540.         ODLink* link)
  541. {
  542.    SOM_Resolve(this,ODDraft,ReleaseLink)
  543.     (this,ev,link);
  544. }
  545.  
  546.  
  547. /* public method: ReleaseStorageUnit */
  548. ODDraft*   ReleaseStorageUnit(Environment *ev,
  549.         ODStorageUnitID id)
  550. {
  551.    return SOM_Resolve(this,ODDraft,ReleaseStorageUnit)
  552.     (this,ev,id);
  553. }
  554.  
  555.  
  556.  
  557. };   /* ODDraft */
  558.  
  559.  
  560.  
  561. #endif       /* SOM_ODDraft_xh */
  562.